home *** CD-ROM | disk | FTP | other *** search
/ Aminet 35 / Aminet 35 (2000)(Schatztruhe)[!][Feb 2000].iso / Aminet / dev / gui / gui4cli.lha / Gui4Cli / G4C / Rep.gc < prev   
Encoding:
Gui4CLI script  |  1999-11-26  |  6.1 KB  |  273 lines

  1. G4C
  2.  
  3. ; Rep.gc 1.4 (by D.Kelesekis)
  4. ; =================================================================
  5.  
  6. ; This is a GUI script for the "Rep" command, which replaces strings
  7. ; in text files.
  8.  
  9. ; =================================================================
  10.  
  11. ;                       The window & graphics
  12.  
  13. ; =================================================================
  14.  
  15. WINBIG 98 11 412 179 'Replace - SYS:'
  16. WinType 11110001   ; it's resizable & font sensitive with all gadgets
  17. resinfo 8 640 256
  18.  
  19. BOX 0 0 0 0 OUT button
  20.  
  21. XTEXTBOX 208 20 195 77 '' ''
  22.     attr tbox 2/1/3/button/in
  23.     attr resize 1010
  24.  
  25. XTEXTBOX 208 100 196 34 '' '' 
  26.     attr tbox 2/1/3/button/in
  27.     attr resize 1010
  28.  
  29. ; =================================================================
  30.  
  31. ;                       System events
  32.  
  33. ; =================================================================
  34.  
  35. xOnLoad
  36.     from   = ""
  37.     to     = ""
  38.     todir  = ram:
  39.     savetodir = ON
  40.     ci     = ""
  41.     guiopen rep.gc
  42.     ifexists file c:rep
  43.        RUN 'resident c:Rep pure add'
  44.     elseifexists file guis:c/rep
  45.        RUN 'resident guis:c/Rep pure add'
  46.     else
  47.        extract rep.gc guipath path
  48.        joinfile $path rep path
  49.        ifexists file $path
  50.            RUN 'resident $path pure add'
  51.        else
  52.            ezreq 'REP was not found!' OK ''
  53.        endif
  54.     endif
  55.     ; helper gui
  56.     ifexists file guis:tools/rtn/filepop
  57.        helper = 1   ; set flag to know we have it
  58.     else
  59.        helper = 0
  60.     endif
  61.  
  62.  
  63. xOnClose
  64.     guiquit rep.gc
  65.     run 'resident rep remove'
  66.  
  67. ; =================================================================
  68.  
  69. ;                       The Directory listview
  70.  
  71. ; =================================================================
  72.  
  73. XLISTVIEW 4 4 199 170 "" file SYS: 10 DIR
  74.     GadID 1
  75.     attr resize 0012
  76.     gadhelp 'Select files to act upon'
  77.     GadFont #mono 8 000
  78.     if $helper = 1
  79.        guiload guis:tools/rtn/filepop $rep.gc/file   
  80.     endif
  81.  
  82. xlvdirhook 1
  83.     setwintitle rep.gc '$$lv.dir'
  84.  
  85.  
  86. ; =================================================================
  87.  
  88. ;                       The listview's buttons
  89.  
  90. ; =================================================================
  91.  
  92. XBUTTON 208 4 30 14 P
  93.     gadhelp 'CD to Parent dir'
  94.     attr resize 1010
  95.     lvuse rep.gc 1
  96.     lvdir parent
  97.     setwintitle rep.gc '$$lv.dir'
  98.  
  99. XBUTTON 240 4 30 14 D
  100.     gadhelp 'Show Device list'
  101.     attr resize 1010
  102.     lvuse rep.gc 1
  103.     lvdir disks
  104.     setwintitle rep.gc '$$lv.dir'
  105.  
  106. XBUTTON 276 4 30 14 A
  107.     gadhelp 'Select all items'
  108.     attr resize 1010
  109.     lvuse rep.gc 1
  110.     lvdir all
  111.  
  112. XBUTTON 308 4 30 14 N
  113.     gadhelp 'Unselect all items'
  114.     attr resize 1010
  115.     lvuse rep.gc 1
  116.     lvdir none
  117.  
  118.  
  119. ; =================================================================
  120.  
  121. ;               Settings - xTEXTIN & xCYCLER gadgets
  122.  
  123. ; =================================================================
  124.  
  125. XTEXTIN 216 36 180 15 '' from "" 100            ; string to Rep
  126.     gadhelp 'Enter string to search for and replace'
  127.     attr resize 1010
  128.     attr title 2/1/shadow/left/above/String:
  129.     gadid 30
  130.     setgad rep.gc 31 on ; goto next gadget
  131.  
  132. XTEXTIN 216 64 180 15 '' to "" 100              ; Rep with this
  133.     gadhelp 'Enter string with which to replace the above'
  134.     attr resize 1010
  135.     attr title "2/1/shadow/left/above/To string:"
  136.     gadid 31
  137.     setgad rep.gc 30 on
  138.  
  139. XCYCLER 216 80 180 14 "" ci
  140.     gadhelp 'Search mode'
  141.     attr resize 1010
  142.     cstr "Case Sensitive"   ""
  143.     cstr "Case Insensitive" I
  144.  
  145.  
  146. ; =================================================================
  147.  
  148. ;               Save to a different dir
  149.  
  150. ; =================================================================
  151. ; --- Dir to save file in. If this is the same dir as the file being
  152. ; --- converted, then the file will be overwriten.
  153.  
  154. XCHECKBOX 368 104 26 11 "" savetodir ON OFF ON
  155.     gadhelp 'Check to copy altered files to other dir - Requester will open..'
  156.     attr resize 1010
  157.     if $savetodir == ON
  158.        setgad rep.gc 20 on
  159.        ReqFile -1 -1 300 200 "Choose destination:" DIR todir ram:
  160.        update rep.gc 20 $todir
  161.     else
  162.        setgad rep.gc 20 off
  163.     endif
  164.  
  165. XTEXTIN 216 116 180 15 '' todir "Ram:" 100
  166.     gadhelp 'Altered files will be saved in this dir'
  167.     attr title "2/1/shadow/left/above/Save to dir:"
  168.     attr resize 1010
  169.     gadid 20
  170.  
  171.  
  172. ; =================================================================
  173.  
  174. ;                       Do it.
  175.  
  176. ; =================================================================
  177.  
  178. TEXT 208 144 196 14 "Waiting.." 50 BOX ; show stuff here..
  179.     attr resize 1210
  180.     gadid 2
  181.  
  182. XBUTTON 208 160 96 14 Start
  183.     gadhelp 'Start replacing'
  184.     attr resize 1210
  185.     gadid 100
  186.  
  187.     ; --- check that we have all the parameters we need
  188.     lvuse rep.gc 1
  189.     lvmulti first
  190.     if $file = ""
  191.         update rep.gc 2 "No file chosen."
  192.        stop
  193.     endif
  194.     if $from = ""
  195.        update rep.gc 2 'No "From" defined!'
  196.        stop
  197.     endif
  198.     if $to = ""
  199.        update rep.gc 2 'No "To" defined!'
  200.        stop
  201.     endif
  202.  
  203.     ; --- get dest dir, if defined, and make dest name..
  204.     destfile = ""
  205.     if $savetodir == ON
  206.     and $todir > " "
  207.        extract file FILE fname
  208.        dest = $todir
  209.        joinfile $dest $fname destfile
  210.     endif
  211.     update rep.gc 2 '$file'
  212.  
  213.     ; --- launch it..
  214.     setgad rep.gc 100 off
  215.     flag = 0
  216.     launch 5 'Rep $file $from $to $destfile $ci'
  217.  
  218.  
  219. ; --- Use of the launch command will allow the other GUIs running on
  220. ; --- this instance of Gui4Cli to go about their business normally
  221. ; --- Then when this file is finished ...
  222.  
  223. xOnReturn 5
  224.     ; --- note our arrival..
  225.     update rep.gc 2 'OK - $file'
  226.     lvuse rep.gc 1
  227.     lvmulti OFF
  228.  
  229.     ; --- check if we've already been told to stop..
  230.     if $flag != 0
  231.        setgad rep.gc 100 on
  232.        stop
  233.     endif
  234.  
  235.     ; --- do next file
  236.     lvmulti next
  237.     if $file = ""          ; no more files
  238.        if $todir > " "
  239.           lvdir #$todir
  240.           setwintitle rep.gc '$$lv.dir'
  241.        else
  242.           lvdir refresh
  243.        endif
  244.        setgad rep.gc 100 on
  245.        stop
  246.     endif
  247.     if $savetodir == ON
  248.     and $todir > " "
  249.        extract file FILE fname
  250.        dest = $todir
  251.        joinfile $dest $fname destfile
  252.     endif
  253.     update rep.gc 2 '$file'
  254.     launch 5 'Rep $file $from $to $destfile $ci'
  255.  
  256.  
  257. ; =================================================================
  258.  
  259. ;                       Cancel & text display
  260.  
  261. ; =================================================================
  262.  
  263. XBUTTON 308 160 96 14 Stop
  264.     gadhelp 'Abort replacing'
  265.     attr resize 1210
  266.     breaktask Rep C
  267.     setvar flag 1
  268.  
  269. xonfail ; everybody's human..
  270.     setgad rep.gc 100 on
  271.     update rep.gc 2 '** Error **'
  272.  
  273.